Field of the Invention
The present invention relates to an information processing apparatus which prevents that data received from a USB (universal serial bus) host is lost, a controlling method for the information processing apparatus, and a storage medium for storing therein a computer program to achieve the controlling method.
Description of the Related Art
In general, a host apparatus such as a PC (personal computer) or the like and peripherals such as an MFP (multifunction peripheral), a printer and the like are mutually connected via various I/F's (interfaces) to perform data communication of print data and the like. For example, a USB has widely been used as one of the various I/F's.
In the USB standard, to use a common driver for each application, a USB device class specification has been defined in correspondence with a kind of peripheral (USB Function). Also, in a printer class specification, necessary transfer modes and the number of End Points serving as transmission/reception buffers have been defined. Thus, a USB printer class driver can be used based on this specification.
The print data from the PC is transferred to the MFP by data transfer called a Bulk Out from a USB host to the direction of the USB Function.
In the MFP, the data stored in the End Point serving as the transmission/reception buffer is transferred to a RAM (random access memory) serving as an internal data storage area by using a DMAC (dynamic memory access controller).
In the USB standard, the high-speed USB 3.0 (maximum data communication speed is 5 Gbps) has been put to practical use. For this reason, there is a problem that more data cannot be received in the state that the End Points serving as the transmission/reception buffers have been filled with the data.
In this connection, Japanese Patent Application Laid-Open No. 2008-15823 discloses the technique of changing the size of a transmission/reception buffer in response to an instruction from a USB host.